/*
 * 描述： <描述>
 * 修改人： rain
 * 修改时间： 2016年7月25日
 * 项目： rainhy-minitools
 */
package com.rainhy.minitools.sudoku;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.lang3.StringUtils;

/**
 * 列
 * 
 * @author rain
 * @version [版本号, 2016年7月25日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class Col implements Serializable {
    private static final long serialVersionUID = -2361251020337766875L;
    
    /** 列号(x) */
    private final int x;
    
    /** 列(y,grid) */
    private final Map<Integer, Grid> grids = new HashMap<>();
    
    /** 用列号来构建列 */
    public Col(int x) {
        super();
        this.x = x;
    }
    
    /** 根据列号获取格子 */
    public Grid getGrid(Integer y) {
        return this.grids.get(y);
    }
    
    /** 初始化格子 */
    public void init(Grid grid) {
        if (this.x == grid.getX()) {
            this.grids.put(grid.getY(), grid);
        }
    }
    
    /** 刷新格子数据 */
    public void refresh(Grid grid) {
        // TODO Auto-generated method stub
        
    }
    
    @Override
    public String toString() {
        return StringUtils.join(grids.values(), ",");
    }
}
